An application platform may implement business objects to support different business solutions. A business object, for example, is a software model of business logic and/or data representing real-world items used during the transaction of business, such as a SalesOrder or an Organization. An instance of a business object may represent specific data (e.g., SalesOrder 4711, ACME corporation). A business application for a particular business scenario may require many business objects, where the structure of each has been determined based on the requirements of the particular business scenario.
Some application platforms include two or more deployment units, each of which is dedicated to particular business functions. For example, one deployment unit may provide financial functions, while another deployment unit may provide human resource functions. Each deployment unit may include several process components, each of which operates on several business objects. An application platform may allow developers to provide their own process components and/or business objects within a deployment unit.
The process components and business objects within a deployment unit may communicate with one another, but communication between deployment units is more difficult. If such communication is desired, a developer must manually create metadata entities to define this communication, and must manually implement corresponding process agent logic in code. Moreover, an appropriate runtime configuration for handling the communication must be manually established.
These manual tasks must comply with development guidelines of the application platform, and therefore require expensive developer training efforts and typically lead to long implementation times. Development errors are nevertheless likely to occur.